The present invention relates generally to the synchronization of information between computing systems. More particularly, the present invention relates to a method for selectively excluding unnecessary information from a multi-computer synchronization process, while collectively designating a plurality of information items with a single user-selection action.
The information age has spawned a myriad of new electronic devices aimed at increasing efficiency, convenience, and ease of use. One such group of devices includes portable computing devices, personal digital assistants and other companion products that enable computer users to maintain access to digital information when away from the home or office computer.
In order to maximize usefulness, these products typically allow information to be transferred to and from other computers. These data transfers are generally accomplished by connecting the portable device to a target computer via a direct connection, modem connection, network connection or the like. The global proliferation of networks has advanced the desirability of these portable devices by allowing access to virtually any information that avails itself on the network, regardless of the user""s whereabouts.
Further, certain information can be xe2x80x9csynchronizedxe2x80x9d between the companion device and the user""s primary computer to maintain data coherence between the two systems. Synchronization involves an electronic comparison and correlation of data between the companion device and the primary computer (such as a server or personal computer) to maintain data uniformity on both systems. The ability to synchronize changes on any or all systems makes portable computing devices powerful tools in the quest for immediate and accurate information access.
Despite the obvious benefits of these portable electronic devices, there are limitations on their use. For example, they have limited memory capabilities due to their relatively small size and low power consumption requirements. Further, connection costs may be based on connection time, and synchronization may prove expensive. Because these portable devices are typically connected to other computers or networks via modem, synchronization times may be significant due to speed limitations of modem technologies.
Technologies for synchronizing these companion devices with other computers generally involve synchronizing all information which the companion device is capable of receiving. For example, synchronizing changes in e-mail folder hierarchies between a companion device and an office computer might involve synchronizing all folders in the hierarchy. This, however, may not be desirable. As previously indicated, the companion device has limited memory. It may prove wasteful of memory resources to synchronize all folders when the user is uninterested in certain folders in the hierarchy, since the companion device must increasingly allocate memory as the number of stored folders increases. Further, since the portable devices are generally used as companions to desktop or server e-mail systems, the user may only be willing to expend connection time and memory resources for the e-mail categories most important to the user. Full e-mail folder accessibility will always be available to the user at the user""s primary computer.
One solution might be to require users to explicitly designate each and every category of information to be synchronized. In this way, not xe2x80x9callxe2x80x9d information would be synchronized, and this could reduce connection times and memory allocation requirements. However, it may be unreasonable to expect users to specifically designate each and every such category. For example, a folder hierarchy may be configured to allow for thousands or tens of thousands of folders. It would be prohibitively time-consuming and aggravating for users to explicitly designate which of this multitude of folders should be, and continue to be, synchronized.
The present invention is generally directed to a manner of synchronizing information between computer systems, such as between client and server computer systems. A user is allowed to collectively identify multiple synchronizable objects, such as folders in a folder hierarchy, as a subset of objects to be synchronized, while excluding the remaining objects of the object set from synchronization. Only a single action need be taken by the user to collectively designate this subset for synchronization. The invention therefore allows minimal action to be taken by the user in order to exclude objects for which synchronization is deemed unnecessary.
One aspect of the invention allows a subset of objects of an object set to be selectively synchronized between first and second object stores. The subset of objects is defined as multiple objects of the object set. A selection identifier corresponding to an exclusive synchronization mode designation entered by a user is used to determine the mode in which synchronization will occur. Where the selection identifier is in a first state, all of the objects of the object set will be synchronized. Where the selection identifier is in a second state, only those objects that compose the defined subset of objects will be synchronized, thereby limiting synchronization to the defined subset of objects.
The consolidated synchronization characteristic of the invention""s selective synchronization process can be applied to a wide variety of synchronizable information. One aspect of the invention includes applying the selective synchronization process to an e-mail folder hierarchy. The subsets of the e-mail folder hierarchy are synchronized between computing systems, such as a server and a client or xe2x80x9ccompanionxe2x80x9d device. The defined subset of information in this case includes particular folders of the email folder hierarchy. Such a subset may include a predetermined branch of the e-mail folder hierarchy, such as the xe2x80x9cInboxxe2x80x9d folder branch. When the user has identified a first synchronization mode, all of the folders of the e-mail folder hierarchy will be synchronized. When the user identifies a second synchronization mode, only the collection of folders in the predetermined folder branch are synchronized, thereby limiting the group of folders being synchronized to those deemed worthy of synchronization by the user.
Another aspect of the invention relates to an apparatus equipped to synchronize a selected subset of an e-mail folder hierarchy between server and client computing systems. The apparatus includes a module for defining the subset of the email folder hierarchy as the group of folders associated with a particular branch of the mail folder hierarchy. A user interface module provides for the single-action entry of a synchronization mode designator by a user. A synchronization module synchronizes all of the folders of the e-mail folder hierarchy when the synchronization mode designator identifies a first synchronization mode, and synchronizing only the folders of the particular hierarchy branch when the synchronization mode designator identifies a second synchronization mode.